1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to a system and method for burst traffic smoothing for session initiation protocol (SIP) signaling elements.
2. Description of Related Art
Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls (also referred to as “telephony”), multimedia distribution, multimedia conferencing, and the like (see RFC 3261 available from the IETF SIP Working Group at www.ietf.org/rfc/rfc3261.txt). In November 2000, SIP was accepted as a third generation partnership project (3GPP) signaling protocol and permanent element of the IP Multimedia Subsystem (IMS) architecture. SIP is widely used as a signaling protocol for Voice over IP (VoIP), along with H.323 and others. SIP is addressing neutral, with addresses expressed as URL/URIs of various types, such as H.323 address, E.164 telephone numbers, electronic mail type addresses, or the like.
SIP clients traditionally use Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) port 5060 to connect to SIP servers and other SIP endpoints in a data network. SIP is primarily used in setting up and tearing down voice or video calls. However, it can be used in any application where session initiation is a requirement, such as event subscription and notification, terminal mobility, and the like. All voice/video communications are done over separate session protocols, typically real time transport protocol (RTP).
A motivating goal for SIP was to provide a signaling and call setup protocol for Internet Protocol (IP) based communications that can support a superset of the call processing functions and features present in the public switched telephone network (PSTN). SIP by itself does not define these features since its focus is call-setup and signaling. However, it has been designed to enable the building of such features in network elements known as Proxy Servers and User Agents. These are features that permit familiar telephone-like operations including dialing a number, causing a phone to ring, hearing ringback tones or a busy signal, etc.
SIP-enabled telephony networks can also implement many of the more advanced call processing features present in signaling system 7 (SS7), though the two protocols themselves are very different. SS7 is a highly centralized protocol, characterized by highly complex central network architecture and dumb endpoints, i.e. the traditional telephone handsets. SIP is a peer-to-peer protocol. As such it requires only a very simple, and thus highly scalable, core network with intelligence distributed to the network edge, i.e. embedded in endpoints (terminating devices built in either hardware or software). SIP features are implemented in the communicating endpoints (i.e. at the edge of the network) as opposed to traditional SS7 features which are implemented in the network.
SIP works in concert with several other protocols and is only involved in the signaling portion of a communication session. SIP acts as a carrier for the Session Description Protocol (SDP), which describes the media content of the session, e.g. what IP ports to use, the codec being used, and the like. In typical use, SIP “sessions” are simply packet streams of the Real-time Transport Protocol (RTP). RTP is the carrier for the actual voice or video content itself.
While SIP provides a very useful communication protocol via which multimedia communications may be performed, such as VoIP or video communications, problems may occur with SIP with regard to dropped communications. That is, when the SIP traffic being handled by a SIP server exceeds a maximum amount of traffic that the dispatch queues of the SIP server can handle, SIP sessions start to get dropped, i.e. communications are dropped. For example, as is generally known, data communications are often susceptible to bursts of traffic, i.e. large increases in data transmissions over a short amount of time.
When SIP traffic experiences a burst, the dispatch queues of a SIP server may get overloaded and, as a result, the SIP traffic data packets may get dropped and SIP communications are dropped as a consequence. In order to compensate for such bursts, the SIP environment, i.e. the dispatch queues of the SIP server, number of SIP servers, etc., are sized taking into account expected burst loads at the largest sizing consideration. If the current configuration cannot handle the largest expected burst of SIP traffic, additional SIP server systems must be added. However, most of the time the system is in operation, the extra capacity in place to handle traffic bursts goes unutilized. Thus, there are wasted resources that increase cost of the overall system.